package cn.com.csg.smartenergy.modules.biz.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 设备
 *
 * @author chenyu
 * @email chenyu@csg.com
 * @date 2019-07-30 09:05:43
 */
@Data
@TableName("iot_device")
public class IotDeviceEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * ID
	 */
	@TableId
	private Long id;
	/**
	 * 产品ID (36位的UUID)
	 */
	private Long productId;
	/**
	 * 设备标识码
	 */
	private String nodeId;

	private Long parentId;
	/**
	 * 设备名称
	 */
	private String deviceName;
	/**
	 * 状态 ONLINE：在线 OFFLINE：离线 EXCEPTIONAL：异常 UNACTIVE：未激活
	 */
	@TableField("`status`")
	private String status;
	/**
	 * 上次在线时间
	 */
	private Date lastOnlineTime;
	/**
	 * 是否删除 -1：删除 0：保留
	 */
	@TableLogic
	private Integer delFlag;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 创建人员ID
	 */
	private Long createUser;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 更新人员ID
	 */
	private Long updateUser;

	@TableField(exist=false)
	private String productName;

	@TableField(exist=false)
	private String model;

	@TableField(exist=false)
	private String deviceType;

	@TableField(exist=false)
	private String manufacturerId;

	/**
	 * 制造商名称
	 */
	@TableField(exist=false)
	private String manufacturerName;

	@TableField(exist=false)
	private String protocolType;

	/**
	 * 模拟心跳定时任务是否开启
	 */
	@TableField(exist=false)
	private Integer onlineStatus = 0;

	/**
	 * 模拟数据发送定时任务是否开启
	 */
	@TableField(exist=false)
	private Integer sendStatus = 0;

}
